package com.flea.hclv.model.dao;

import java.util.List;

import com.flea.hclv.model.entity.HAddress;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

import com.flea.hclv.model.entity.HSpot;

public interface HSpotMapper {
    int deleteByPrimaryKey(String id);

    int insert(HSpot record);

    int insertSelective(HSpot record);

    HSpot selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(HSpot record);

    int updateByPrimaryKey(HSpot record);

    List<HSpot> selectAll(RowBounds rowBounds, @Param("spotName")String spotName,
                          @Param("province")String province,
                          @Param("city")String city,
                          @Param("area")String area,
                          @Param("level")String level);

    int updateValidById(@Param("spotId") String spotId, @Param("valid") String valid);

    List<HSpot> selectByName(String name);

    List<HSpot> selectByDeptId(String deptUuid);

    List<HSpot> selectMySpotByDeptId(@Param("deptUuid") String deptUuid,RowBounds rowBounds,
                               @Param("spotName")String spotName,
                               @Param("level")String level,
                                     @Param("spots")List<HSpot> spots);

    int deleteIds(@Param("ids") List<String> idList, @Param("userId") String userId);

    List<HSpot> selectAll();

    List<HSpot> selectAllSpots();
    /**
     * 
     * @description 模糊查询，多个名字
     * @methodName selectByNames
     * @param
     * @returnType List<HSpot>   
     * @throw
     */
	List<HSpot> selectByNames(@Param("spotNames")String[] spotNames);

    List<HSpot> selectByAddressAndDeptId(@Param("deptUuid") String deptUuid,@Param("address") List<HAddress> addresses);
}